home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / hf^k-2.dms / in.adf / MUIClass.Lha / Include / Classes / TWiMUI / Semaphore.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-06  |  1.4 KB  |  54 lines

  1. //
  2. //  $VER: Semaphore.h   1.2 (02 Sep 1996)
  3. //
  4. //    c 1996 Thomas Wilhelmi
  5. //
  6. //
  7. // Address : Taunusstrasse 14
  8. //           61138 Niederdorfelden
  9. //           Germany
  10. //
  11. //  E-Mail : willi@twi.rhein-main.de
  12. //
  13. //   Phone : +49 (0)6101 531060
  14. //   Fax   : +49 (0)6101 531061
  15. //
  16. //
  17. //  $HISTORY:
  18. //
  19. //  16 Jun 1996 :   1.0 : first public Release
  20. //
  21. //  02 Sep 1996 :   1.2 : Neu:
  22. //                        - ClassNum() für Exception-Handling.
  23. //                        Änderungen
  24. //                        - Parameter des Copy-Konstruktor als 'const'-Parameter definiert
  25. //
  26.  
  27. #ifndef CPP_TWIMUI_SEMAPHORE_H
  28. #define CPP_TWIMUI_SEMAPHORE_H
  29.  
  30. #ifndef CPP_TWIMUI_NOTIFY_H
  31. #include <classes/twimui/notify.h>
  32. #endif
  33.  
  34. class MUISemaphore : public MUINotify
  35.     {
  36.     protected:
  37.         virtual const ULONG ClassNum() const;
  38.         MUISemaphore(const STRPTR cl) : MUINotify(cl) { };
  39.     public:
  40.         MUISemaphore(const struct TagItem *t) : MUINotify(MUIC_Semaphore) { init(t); };
  41.         MUISemaphore(const Tag, ...);
  42.         MUISemaphore() : MUINotify(MUIC_Semaphore) { };
  43.         MUISemaphore(const MUISemaphore &);
  44.         virtual ~MUISemaphore();
  45.         MUISemaphore &operator= (const MUISemaphore &p);
  46.         void Attempt() { dom(MUIM_Semaphore_Attempt); };
  47.         void AttemptShared() { dom(MUIM_Semaphore_AttemptShared); };
  48.         void Obtain() { dom(MUIM_Semaphore_Obtain); };
  49.         void ObtainShared() { dom(MUIM_Semaphore_ObtainShared); };
  50.         void Release() { dom(MUIM_Semaphore_Release); };
  51.     };
  52.  
  53. #endif
  54.